/**
 * Project Name:xiaocao-java-basic
 * File Name:TryCatchEnhancement.java
 * Package Name:top.wanzc.java.basic.jdk9.to17.feature
 * Date:2024年2月9日下午4:23:33
 * Copyright (c) 2024, zhengchong.wan@minicore.com.hk All Rights Reserved.
 *
*/

package top.wanzc.java.basic.jdk9.to17.feature;

import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * @className:TryCatchEnhancement 
 * @comment: Java 9 中，用资源语句编写try将更容易，我们可以在try子句中使用已经初始化过的资源 
 * Java 9 中，用资源语句编写try将更容易，我们可以在try子句中使用已经初始化过的资源
 * IO流对象1声明和初始化;
 * IO流对象2声明和初始化;
 * try(IO流对象1;IO流对象2){
 *     可能出现异常的代码
 * }catch(异常类型 对象名){
 *     异常处理方案
 * }
 * jvm会自动刷新和关闭流对象
 * @date:     2024年2月9日 下午4:23:33 
 * @author   zhengchong.wan
 * @since    V1.0.0	 
 */
public class TryWithResourceEnhancement {
	
	public static void main(String[] args) throws Exception {
		FileInputStream fis = new FileInputStream("io\\1.jpg");
		FileOutputStream fos = new FileOutputStream("io\\2.jpg");
		try (fis; fos) {
			byte[] bytes = new byte[1024];
			int len;
			while ((len = fis.read(bytes)) != -1) {
				fos.write(bytes, 0, len);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

